import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;

//RandomAccessFile是java Io体系中功能最丰富的文件内容访问类。即可以读取文件内容，也可以向文件中写入内容。但是和其他输入/输入流不同的是，程序可以直接跳到文件的任意位置来读写数据。
//  因为RandomAccessFile可以自由访问文件的任意位置，所以如果我们希望只访问文件的部分内容，那就可以使用RandomAccessFile类。
//  与OutputStearm,Writer等输出流不同的是，RandomAccessFile类允许自由定位文件记录指针，所以RandomAccessFile可以不从文件开始的地方进行输出，所以RandomAccessFile可以向已存在的文件后追加内容。则应该使用RandomAccessFile。
public class RandomAcessFile { public  static void main(String[] args)throws IOException {
          String filePath="C:\\Users\\my\\Desktop\\JAVA\\JAVA作业\\test.txt";
         RandomAccessFile raf=null;
         File file=null;
          try {
                   file=new File(filePath);
                  raf=new RandomAccessFile(file,"r");
                  // 获取 RandomAccessFile对象文件指针的位置，初始位置为0
                  System.out.print("输入内容："+raf.getFilePointer());
                  //移动文件记录指针的位置
                 raf.seek(1000);

                   byte[] b=new byte[1024];
                  int hasRead=0;
             //循环读取文件
                while((hasRead=raf.read(b))>0){
                          //输出文件读取的内容
                          System.out.print(new String(b,0,hasRead));
                    }
              }catch (IOException e){
                e.printStackTrace();
          }finally {
              assert raf != null;
              raf.close();
        }
     }
}
